In the digital age, organizations increasingly rely on digitally-stored data. To protect against data loss, an organization may use a backup system to back up important data. In order to reduce the resources required to perform each backup, the backup system may perform a full backup of the data, followed by incremental backups capturing changes to the data since the last backup.
Restoring data for a system using incremental backups may require applying changes recorded in one or more incremental backups to data in a full backup. In order to improve performance and/or reduce resource consumption, some backup systems may periodically consolidate the most recent full backup and all subsequent incremental backups into a synthetic backup (e.g., an up-to-date full backup constructed from existing backup data).
Unfortunately, traditional synthetic backup systems may suffer from a variety of limitations and/or performance issues. For example, some synthetic backup systems may produce a full synthetic backup image with files in a sorted order (e.g., as a full backup performed by the backup system would be). However, to write the files to the synthetic backup in sorted order, such a synthetic backup system may have to read the files from backup storage devices in a non-sequential order. This approach may make the use of sequential storage devices (e.g., tape storage) impractical.
Conversely, some synthetic backup systems may read the files for the full synthetic backup image sequentially from the backup storage devices. However, this may result in these synthetic backup systems producing a synthetic backup image with files in an unsorted order. In such cases, subsequent synthetic backups may require more time and resources as searching through an unsorted list of files of an old synthetic backup when creating a new synthetic backup may be less efficient.